home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 25 / CU Amiga Magazine's Super CD-ROM 25 (1998)(EMAP Images)(GB)(Track 1 of 2)[!][issue 1998-08].iso / CUCD / Programming / GMS / GMSDev / Source / E / Screens / FadingDemo.e < prev    next >
Encoding:
Text File  |  1998-03-16  |  1.7 KB  |  63 lines

  1. /* Name:      Fade Demo
  2. ** Author:    Paul Manias
  3. ** Copyright: DreamWorld Productions (c) 1996-1998.  Freely distributable.
  4. */
  5.  
  6. MODULE 'gms/dpkernel','gms/dpkernel/dpkernel','gms/graphics/pictures'
  7. MODULE 'gms/files/files','gms/screens','gms/system/register'
  8. MODULE 'gms/system/modules','gms/input/joydata','gms/graphics/screens'
  9. MODULE 'gms/graphics/blitter'
  10.  
  11. PROC main()
  12.  DEF fstate    = NIL :LONG,
  13.      screen    = NIL :PTR TO screen,
  14.      pic       = NIL :PTR TO picture,
  15.      scrmodule = NIL :PTR TO module,
  16.      picfile   :filename
  17.  
  18.  picfile := [ ID_FILENAME, 'GMS:demos/data/PIC.Green']:filename
  19.  
  20.  IF dpkbase := OpenLibrary('GMS:libs/dpkernel.library',0)
  21.   IF (scrmodule := Init([TAGS_MODULE,NIL,
  22.       MODA_NUMBER,    MOD_SCREENS,
  23.       MODA_TABLETYPE, JMP_AMIGAE,
  24.       TAGEND], NIL))
  25.  
  26.    scrbase := scrmodule.modbase
  27.  
  28.    IF (pic := Load(picfile, ID_PICTURE))
  29.       screen := Get(ID_SCREEN)
  30.       CopyStructure(pic,screen)
  31.       screen.bitmap.palette := NIL
  32.       screen.bitmap.flags   := BMF_BLANKPALETTE
  33.  
  34.       IF (screen := Init(screen,NIL))
  35.          Copy(pic.bitmap,screen.bitmap)
  36.          Show(screen);
  37.  
  38.          REPEAT
  39.            WaitAVBL()
  40.            fstate := ColourToPalette(screen,fstate,2,0,screen.bitmap.amtcolours,pic.bitmap.palette+8,$000000);
  41.          UNTIL (fstate != NIL)
  42.  
  43.          REPEAT
  44.            WaitAVBL()
  45.            fstate := PaletteToColour(screen,fstate,2,0,screen.bitmap.amtcolours,pic.bitmap.palette+8,$a5f343)
  46.          UNTIL (fstate != NIL)
  47.  
  48.          REPEAT
  49.            WaitAVBL()
  50.            fstate := ColourMorph(screen,fstate,2,0,screen.bitmap.amtcolours,$a5f343,$000000);
  51.          UNTIL (fstate != NIL)
  52.  
  53.       Free(screen)
  54.       ENDIF
  55.    Free(pic)
  56.    ENDIF
  57.    Free(scrmodule)
  58.   ENDIF
  59.  CloseDPK()
  60.  ENDIF
  61. ENDPROC
  62.  
  63.